////////////////////////////////////////////////////////
// CodePlex - metacpp
//--------------------
// This file is part of "metacpp" project on CodePlex. The
// goal if the project is to demonstrate basic techniques
// used in C++ metaprogrammins.
// For more info and comments please visit:
// http://www.codeplex.com/metacpp/
////////////////////////////////////////////////////////

#include <iostream>


void show_full_function_specialization(void);
void show_full_function_specialization_variations(void);
void show_automatic_type_deduction(void);
void show_static_condition(void);
void show_convertibility_test(void);
void test_factorial(void);


int main(int argc, char *argv[]) {
	show_full_function_specialization();				std::cout << std::endl;
	show_full_function_specialization_variations();		std::cout << std::endl;
	show_automatic_type_deduction();					std::cout << std::endl;
	test_factorial();									std::cout << std::endl;
	show_static_condition();							std::cout << std::endl;
	show_convertibility_test();							std::cout << std::endl;

	return 0;
}